package com.xuebusi.feign.consumer.feign;

import com.xuebusi.feign.consumer.entity.Product;
import com.xuebusi.feign.consumer.vo.ResultVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 商品FeignClient
 * 使用@FeignClient修饰接口，并使用name属性指定要调用的远程服务名称
 */
@FeignClient(name = "ribbon-load-balance-provider")
public interface ProductFeignClient {
    /**
     * 查询商品信息
     * 这里要定义成一个接口方法，请求方式、请求地址和参数要和实际要调用的远程接口保持一致
     *
     * @param id
     * @return
     */
    @GetMapping("/product/{id}")
    ResultVO<Product> findById(@PathVariable("id") Long id);
}
